The manner in which information is presented to computer users affects the ability of the computer user to understand and comprehend the information. To help the users to more readily grasp the importance of the information, it has become a relatively standard practice to add emphasis to information on computer displays by using color, font styles, and the like.
The code handling the presentation of the information (i.e., the user interface) and the code performing the application logic on the information are typically closely coupled. In such cases, the application logic typically assigns various user interface properties (e.g., color, font, position, size) directly to the data. Thus, when there is a change to the user interface, the logic also changes.
When a text box is used for example, the user interface code listens to determine whether text has changed. Upon such a determination, the user interface code typically validates the changed text and then displays the changed text. This tightly coupled nature of the user-interface and the logic can result in very fragile code, which can be very costly and time consuming to maintain.